Model Checking Multithreaded Programs by Means of Reduced Models
نویسندگان
چکیده
Java is largely used to develop distributed and concurrent systems, but testing multithreaded systems cannot guarantee the quality of the software; in contrast, verification techniques give us a higher confidence about the system and, among these, model checking methods automatically establish properties of complex systems. Such techniques are usually applied to specification languages, and several environments exist to verify temporal properties of concurrent specifications. In this paper we present an attempt to apply model checking techniques for verifying a subset of multithreaded Java programs. In particular, we use a tool based on the selective mu-calculus logic to check systems described through the CCS specification language.
منابع مشابه
A Formal Model of Resource Sharing Conicts in Multithreaded Java
We present a tool for analysing resource sharing conflicts in multithreaded Java programs. We consider two models of execution: purely parallel one and sequential execution on a single processor. A Java program is translated into a system of timed automata which is verified by the model checker Uppaal. We also present our work in progress on formalisation of Real-Time Java semantics and the sem...
متن کاملVom Fachbereich Informatik der Technischen Universität Kaiserslautern
Sequential Consistency (SC) is the memory model traditionally applied by programmers and verification tools for the analysis of multithreaded programs. SC guarantees that instructions of each thread are executed atomically and in program order. Modern CPUs implement memory models that relax the SC guarantees: threads can execute instructions out of order, stores to the memory can be observed by...
متن کاملRuntime Model Checking of Multithreaded C Programs using Automated Instrumentation Dynamic Partial Order Reduction and Distributed Checking
Conventional testing methods are inadequate for debugging multithreaded C programs because many “unexpected” thread interactions can only be manifested through very low probability event sequences that are easily missed during test creation. As a result, bugs can escape into the field, and often manifest years after code deployment [1]. While the approach of building formal models in modeling l...
متن کاملModeling and Verifying Abstract Multithreaded Systems
Multithreaded systems consist of programs (threads), an operating system and one or more processors. We describe abstraction techniques from programs, the operating system and processors to extract a finite state machine that reflects the thread manager in its system context. To assure the correctness and fairness of the concurrent execution, we apply common verification techniques, in particul...
متن کاملChecking a Multithreaded Algorithm with +CAL
A colleague told me about a multithreaded algorithm that was later reported to have a bug. I rewrote the algorithm in the cal algorithm language, ran the TLC model checker on it, and found the error. Programs are not released without being tested; why should algorithms be published without being model checked?
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Electr. Notes Theor. Comput. Sci.
دوره 110 شماره
صفحات -
تاریخ انتشار 2004